This notebook was written for the AWEAR Case Studies as part of a PhD project on Engineering Systems Design in Healthcare at the Engineering Systems Division, DTU Management, in collaboration with Rigshospitalet-Glostrup.

The purpose of this notebook is to provide regular reports on the data being recorded from study participants, to check that it is being recorded and looks as expected. The R script imports, tests and plots data from a specified participant and timeframe, as shown in the code and output below.

Report subject and period:

This report is for user  P13NB for the time period from  2018-05-28  to  2018-06-15

Import and restructure data:

Overview of available csv files and their current use status:

File Description Status
“activity.csv” coded activity types in use
“battery.csv” charging log in use
“bluetooth.csv” - not in use
“calllog.csv” log of phonecalls not in use
“experience_sampling.csv” answers to daily self-reports in use
“hardware_info.csv” - not in use
“location.csv” GPS data from watch and phone in use
“screen.csv” screen on/off transitions (phone) in use
“sms.csv” sms log not in use
“step_count.csv” step counts from watch and phone in use
“wearable.csv” - no longer in use
“wifi.csv” - not in use

The output below confirms which files have been imported, followed by processing steps.

activity file imported
battery file imported
calllog file imported
experience_sampling file imported
location file imported
screen file imported
sms file imported
step_count file imported

 *** 
 Processing file containing:  activity confidence 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'label' created describing activity based on activity code 
Complete: activity data reduced from  6091  to  3848  rows by keeping only the max-confidence activities for each unique timestamp 

 *** 
 Processing file containing:  plugged status level 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'mode' created describing charging status based on 'plugged' variable 

 *** 
 Processing file containing:  name number type duration 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  question_id answer 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  lat lon accuracy provider 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  screen_on 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

 *** 
 Processing file containing:  address body type read 

User ID is not in dataset, returning NULL 

 *** 
 Processing file containing:  step_count 

Complete: Data extracted for specified user 
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch

Quality check: data source

Check whether data coming from watch, phone or both (also gives date of last reading).

Data in  activity comes from  phone 
Last reading in activity is on [1] "2018-06-13 08:13:12 CEST" 

Data in  battery comes from  phone 
Last reading in battery is on [1] "2018-06-13 08:13:12 CEST" 

Data in  experience_sampling comes from  phone 
Last reading in experience_sampling is on [1] "2018-06-12 17:55:51 CEST" 

Data in  location comes from  watch phone 
Last reading in location is on [1] "2018-06-13 08:17:29 CEST" 

Data in  screen comes from  phone 
Last reading in screen is on [1] "2018-06-12 18:46:12 CEST" 

Data in  step_count comes from  watch phone 
Last reading in step_count is on [1] "2018-06-13 08:13:12 CEST" 

Visualise data:

LS0tDQp0aXRsZTogJ0FXRUFSIFN0dWRpZXM6IERhdGEgQ2hlY2tlcicNCmF1dGhvcjogJ0p1bGlhIFRob3JwZScNCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQo8IS0tIENvZGUgYmFzZWQgb24gRGF0YUNoZWNrZXJfbWFpbl92Ml8yMDE4MDIyMC5SLiAtLT4NCg0KVGhpcyBub3RlYm9vayB3YXMgd3JpdHRlbiBmb3IgdGhlIEFXRUFSIENhc2UgU3R1ZGllcyBhcyBwYXJ0IG9mIGEgUGhEIHByb2plY3Qgb24gKkVuZ2luZWVyaW5nIFN5c3RlbXMgRGVzaWduIGluIEhlYWx0aGNhcmUqIGF0IHRoZSBFbmdpbmVlcmluZyBTeXN0ZW1zIERpdmlzaW9uLCBEVFUgTWFuYWdlbWVudCwgaW4gY29sbGFib3JhdGlvbiB3aXRoIFJpZ3Nob3NwaXRhbGV0LUdsb3N0cnVwLg0KDQpUaGUgcHVycG9zZSBvZiB0aGlzIG5vdGVib29rIGlzIHRvIHByb3ZpZGUgcmVndWxhciByZXBvcnRzIG9uIHRoZSBkYXRhIGJlaW5nIHJlY29yZGVkIGZyb20gc3R1ZHkgcGFydGljaXBhbnRzLCB0byBjaGVjayB0aGF0IGl0IGlzIGJlaW5nIHJlY29yZGVkIGFuZA0KbG9va3MgYXMgZXhwZWN0ZWQuIFRoZSBSIHNjcmlwdCBpbXBvcnRzLCB0ZXN0cyBhbmQgcGxvdHMgZGF0YSBmcm9tIGEgc3BlY2lmaWVkIHBhcnRpY2lwYW50IGFuZCB0aW1lZnJhbWUsIGFzIHNob3duIGluIHRoZSBjb2RlIGFuZCBvdXRwdXQgYmVsb3cuDQoNCmBgYHtyIFNFVFVQLCBpbmNsdWRlPUZBTFNFfQ0KIyBTZXQgdGhlIGRyaXZlLCBsb2FkIHBhY2thZ2VzIGFuZCBmdW5jdGlvbnMuDQoNCnNldHdkKCJNOi9QaERfRm9sZGVyL0Nhc2VTdHVkaWVzL0RhdGFfYW5hbHlzaXMvc291cmNlIikNCg0KIyBMb2FkIHJlcXVpcmVkIHBhY2thZ2VzOiAoc2VlIGh0dHBzOi8vY29kZS5hZG9ubGluZS5pZC5hdS91bmFibGUtdG8tbW92ZS10ZW1wb3JhcnktaW5zdGFsbGF0aW9uLXIvIGZvciBpc3N1ZXMpDQpsaWJyYXJ5KGRhdGEudGFibGUpDQpsaWJyYXJ5KGR0cGx5cikNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KG1hZ3JpdHRyKQ0KbGlicmFyeShsdWJyaWRhdGUpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHJlc2hhcGUyKQ0KbGlicmFyeShtYXB0b29scykNCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShtYXBzKQ0KbGlicmFyeShtYXBwcm9qKQ0KbGlicmFyeShzcCkNCmxpYnJhcnkoY2FUb29scykNCg0KIyBMb2FkIGN1c3RvbSBmdW5jdGlvbnM6DQpzb3VyY2UoIkpSVF91dGlscy5SIikNCg0KIyBEZWZpbmUgY29uc3RhbnRzOg0KZm9sZGVyIDwtICIuLi8uLi9EYXRhX2R1bXBzL2R1bXBfY3VycmVudF9hbmFseXNpcy8iICMgcGF0aCB0byBmb2xkZXIgdGhhdCBob2xkcyBtdWx0aXBsZSAuY3N2IGZpbGVzLCBkb3dubG9hZGVkIGZyb20gbmlnaHRpbmdhbGUgd2VicG9ydGFsDQpub3QuaW4udXNlIDwtIGMoImJsdWV0b290aCIsImhhcmR3YXJlX2luZm8iLCJ3ZWFyYWJsZSIsIndpZmkiKQ0KYWN0aXZpdHkuc2VsZWN0aW9uIDwtIGMoIlN0aWxsIiwgIkZvb3QiLCAiVmVoaWNsZSIsICJUaWx0aW5nIiwgIkJpY3ljbGUiKSAjIG1haW4gYWN0aXZpdHkgdHlwZXMNCnRvX3Bsb3QgPC0gYygiYWN0aXZpdHkiLCANCiAgICAgICAgICAgICAiYmF0dGVyeSIsIA0KICAgICAgICAgICAgICJleHBzIiwgDQogICAgICAgICAgICAgImxvY2F0aW9uIiwgDQogICAgICAgICAgICAgInNjcmVlbiIsIA0KICAgICAgICAgICAgICJzdGVwcyIpDQp1c2VycyA8LSBsaXN0KGp1bGlhID0gIjkzYTZkMzFjLWUyMTYtNDhkOC1hOWEyLWYyZjcyMzYyNTQ4ZCIsDQogICAgICAgICAgICAgIGRlYW4gPSAiYjEzMTYyODAtMzhhNi00NWUxLTliYjktN2FmYjJhMWEyYTk2IiwNCiAgICAgICAgICAgICAgbHVuYSA9ICI0YWZlNjFjNS1jNWNjLTRkZTQtOGY1MC05NDk5MDU3NjY4YWQiLA0KICAgICAgICAgICAgICBwZXIgPSAiN2JmNWZlYzMtZjQ2Zi00MTllLTk1NzMtMDAxZmU5YjQ3ZDgxIiwNCiAgICAgICAgICAgICAgdmVyZW5hID0gImEwYzc0YTg4LWIyOTMtNGIzMS05MmMwLTk2NzUwMmIyODEzMiIsDQogICAgICAgICAgICAgIGFnemFtID0gIjUyMTUyZGRhLTBmNTQtNDZkMS1hZmZhLTZkZWE4NWY4NDBkYyIsDQogICAgICAgICAgICAgIGFuamEgPSAiMzZmOWQwNjEtYzVlOS00ZjMwLTkxYjItODMzNTFmZjQwMjg4IiwNCiAgICAgICAgICAgICAgI1AwMUZBID0gIjYzMjFmN2VmLWE5NTgtNDRhZC1iOGU1LTVhYTA0YmMwMDRlMSIsDQogICAgICAgICAgICAgIFAwM0pKID0gImU5ZjQ0ZWI1LTg5NjItNDg5NC04M2M2LTc4MzAyNWM2ZWFlYSIsDQogICAgICAgICAgICAgIFAwNlNTID0gImY5ZjI0ODM4LWM4NDQtNDJkNC04MzQzLWIyMGViZGQyMjBmMyIsDQogICAgICAgICAgICAgIFAwN01HID0gIjRmYmZkZGQwLWEzNDYtNDFjOC1iZThkLWY4ODA0YjUwNjhkMyIsDQogICAgICAgICAgICAgIFAwOFVIID0gImE4NWYyOTllLTdhMDktNGJhNy1iYzE5LThhMjAwYzI2ODZjMiIsDQogICAgICAgICAgICAgIFAxMEpMID0gImQwNWZhOTg0LThkM2ItNDQwNS1iNDE3LTIxMWQxYTNmNTBkNiIsDQogICAgICAgICAgICAgIFAxM05CID0gIjc1Y2M1MjQwLTc4MDUtNDU1MC1hZWFlLTg3M2RmOTk4NDcxMCIpDQoNCmBgYA0KDQojIyMgUmVwb3J0IHN1YmplY3QgYW5kIHBlcmlvZDoNCmBgYHtyIFNldHRpbmdzLCBlY2hvPUZBTFNFfQ0KDQojIFNlbGVjdCB1c2VyDQp1c2VyaWQgPC0gdXNlcnMkUDEzTkINCg0KIyBTZXQgcGVyaW9kIG9mIGludGVyZXN0DQpkLnN0YXJ0IDwtIGFzLlBPU0lYY3QoIjIwMTgtMDUtMjgiKSAjIHl5eXktbW0tZGQgDQpkLnN0b3AgPC0gYXMuUE9TSVhjdCgiMjAxOC0wNi0xNSIpDQoNCmNhdCgiVGhpcyByZXBvcnQgaXMgZm9yIHVzZXIgIiwgbmFtZXModXNlcnNbdXNlcnM9PXVzZXJpZF0pLCAiZm9yIHRoZSB0aW1lIHBlcmlvZCBmcm9tICIsIGFzLmNoYXJhY3RlcihkLnN0YXJ0KSwgIiB0byAiLCBhcy5jaGFyYWN0ZXIoZC5zdG9wKSkgDQoNCmBgYA0KDQoNCiMjIyBJbXBvcnQgYW5kIHJlc3RydWN0dXJlIGRhdGE6DQpPdmVydmlldyBvZiBhdmFpbGFibGUgY3N2IGZpbGVzIGFuZCB0aGVpciBjdXJyZW50IHVzZSBzdGF0dXM6DQoNCkZpbGUgfCBEZXNjcmlwdGlvbiB8IFN0YXR1cw0KLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tDQoiYWN0aXZpdHkuY3N2IiB8IGNvZGVkIGFjdGl2aXR5IHR5cGVzIHwgaW4gdXNlDQoiYmF0dGVyeS5jc3YiIHwgY2hhcmdpbmcgbG9nIHwgaW4gdXNlDQoiYmx1ZXRvb3RoLmNzdiIgfCAtIHwgbm90IGluIHVzZQ0KImNhbGxsb2cuY3N2IiB8IGxvZyBvZiBwaG9uZWNhbGxzIHwgbm90IGluIHVzZQ0KImV4cGVyaWVuY2Vfc2FtcGxpbmcuY3N2IiB8IGFuc3dlcnMgdG8gZGFpbHkgc2VsZi1yZXBvcnRzIHwgaW4gdXNlDQoiaGFyZHdhcmVfaW5mby5jc3YiIHwgLSB8IG5vdCBpbiB1c2UNCiJsb2NhdGlvbi5jc3YiIHwgR1BTIGRhdGEgZnJvbSB3YXRjaCBhbmQgcGhvbmUgfCBpbiB1c2UNCiJzY3JlZW4uY3N2IiB8IHNjcmVlbiBvbi9vZmYgdHJhbnNpdGlvbnMgKHBob25lKSB8IGluIHVzZQ0KInNtcy5jc3YiIHwgc21zIGxvZyB8IG5vdCBpbiB1c2UNCiJzdGVwX2NvdW50LmNzdiIgfCBzdGVwIGNvdW50cyBmcm9tIHdhdGNoIGFuZCBwaG9uZSB8IGluIHVzZQ0KIndlYXJhYmxlLmNzdiIgfCAtIHwgbm8gbG9uZ2VyIGluIHVzZQ0KIndpZmkuY3N2IiAgfCAtIHwgbm90IGluIHVzZQ0KDQpUaGUgb3V0cHV0IGJlbG93IGNvbmZpcm1zIHdoaWNoIGZpbGVzIGhhdmUgYmVlbiBpbXBvcnRlZCwgZm9sbG93ZWQgYnkgcHJvY2Vzc2luZyBzdGVwcy4NCg0KDQpgYGB7ciBJbXBvcnQsIGVjaG89RkFMU0V9DQpkYXRhc2V0cy5hbGwgPC0gZ2V0LmRhdGEoZm9sZGVyLCBub3QuaW4udXNlKSAlPiUgDQogIGxhcHBseShyZXN0cnVjdHVyZSwgdXNlcmlkLCBkLnN0YXJ0LCBkLnN0b3ApDQpkYXRhc2V0cy5hbGwgPC0gRmlsdGVyKGZ1bmN0aW9uKHgpICFpcy5udWxsKHgpWzFdLGRhdGFzZXRzLmFsbCkgIyByZW1vdmUgYW55IG51bGwgZGF0YWZyYW1lcw0KDQojdGVzdDwtZmlsdGVyKGRhdGFzZXRzLmFsbCRhY3Rpdml0eSwgdXNlcj09ImY5ZjI0ODM4LWM4NDQtNDJkNC04MzQzLWIyMGViZGQyMjBmMyIpDQoNCmBgYA0KDQoNCiMjIyBRdWFsaXR5IGNoZWNrOiBkYXRhIHNvdXJjZQ0KQ2hlY2sgd2hldGhlciBkYXRhIGNvbWluZyBmcm9tIHdhdGNoLCBwaG9uZSBvciBib3RoIChhbHNvIGdpdmVzIGRhdGUgb2YgbGFzdCByZWFkaW5nKS4gDQoNCmBgYHtyIFFDLCBlY2hvPUZBTFNFfQ0KZm9yIChpIGluIDE6bGVuZ3RoKGRhdGFzZXRzLmFsbCkpew0KICBqIDwtIGRhdGFzZXRzLmFsbFtbaV1dDQogIGlmKCFpcy5udWxsKGopKXsNCiAgICBjYXQoIkRhdGEgaW4gIixuYW1lcyhkYXRhc2V0cy5hbGwpW2ldLCJjb21lcyBmcm9tICIsIGRpc3RpbmN0KGosZHNvdXJjZSlbLDFdLCJcbiIpOw0KICAgIGNhdCgiTGFzdCByZWFkaW5nIGluIixuYW1lcyhkYXRhc2V0cy5hbGwpW2ldLCJpcyBvbiIsY2FwdHVyZS5vdXRwdXQobWF4KGokdGltZXN0YW1wKSksIlxuXG4iKTsNCiAgfQ0KfQ0KYGBgDQoNCiMjIFZpc3VhbGlzZSBkYXRhOg0KDQo8IS0tIHRvIGRvIC0tPg0KDQo8IS0tICogcmVzb2x2ZSB3YXJuaW5ncyAtLT4NCjwhLS0gKiBjdXN0b21pc2UgY29sb3VycyAtLT4NCjwhLS0gKiBheGVzIHdpdGggZGF0ZXM6IG9yZGVycyBub3QgaW4gdGltZSwgamFudWFyeSBhZnRlciBmZWIgKG9yZGVyZWQgYnkgZGF5IG5vdCB0YWtpbmcgbW9udGggaW50byBhY2NvdW50KSAtLT4NCg0KYGBge3IgUGxvdHMsIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpyZXN1bHRzPC1zaG93X3Bsb3RzKGRhdGFzZXRzLmFsbCwgdG9fcGxvdCkNCmZvcihpIGluIDE6bGVuZ3RoKHJlc3VsdHMpKXsNCiAgcHJpbnQocmVzdWx0c1tbaV1dKQ0KfQ0KDQpgYGANCg0K